// source --> https://www.pccorner.gr/wp-content/plugins/cookie-notice/js/front.min.js?ver=1.2.48
!function(d){function a(e){var i=d(this);i.scrollTop()>parseInt(cnArgs.onScrollOffset)&&(i.setCookieNotice("accept"),i.off("scroll",a))}d(document).ready(function(){var s=d("#cookie-notice"),c=d.fn.getCookieNotice();d(document).on("click",".cn-set-cookie",function(e){e.preventDefault(),d(this).setCookieNotice(d(this).data("cookie-set"))}),d(document).on("click",".cn-revoke-cookie",function(e){if(e.preventDefault(),"yes"===cnArgs.refuse){var i=d(this);if("yes"===cnArgs.onScroll&&d(window).on("scroll",a),"1"===cnArgs.revoke_cookies){if(i.hasClass("cn-revoke-inline")){var o=d("body");o.hasClass("cookies-revoke")||o.hasClass("cookies-not-set")||("automatic"===cnArgs.revoke_cookies_opt?s.showCookieNotice(3):s.showCookieNotice(2))}else s.showCookieNotice(1);c=d.fn.getCookieNotice(),d.fn.setCookieNoticeBodyClass("cookies-set cookies-revoke "+("true"===c?"cookies-accepted":"cookies-refused"))}}}),void 0===c?("yes"===cnArgs.onScroll&&d(window).on("scroll",a),s.showCookieNotice(0),d.fn.setCookieNoticeBodyClass("cookies-not-set")):"yes"===cnArgs.refuse?"1"===cnArgs.revoke_cookies&&("automatic"===cnArgs.revoke_cookies_opt&&s.hideCookieNotice(1),d.fn.setCookieNoticeBodyClass("cookies-set "+("true"===c?"cookies-accepted":"cookies-refused"))):d.fn.setCookieNoticeBodyClass("cookies-set "+("true"===c?"cookies-accepted":"cookies-refused"))}),d.fn.setCookieNotice=function(e){"yes"===cnArgs.onScroll&&d(window).off("scroll",a);var i=new Date,o=new Date,s=d("#cookie-notice"),c=d.fn.getCookieNotice();if(o.setTime(parseInt(i.getTime())+1e3*parseInt(cnArgs.cookieTime)),e="accept"===e?"true":"false",document.cookie=cnArgs.cookieName+"="+e+";expires="+o.toUTCString()+";"+(void 0!==cnArgs.cookieDomain&&""!==cnArgs.cookieDomain?"domain="+cnArgs.cookieDomain+";":"")+(void 0!==cnArgs.cookiePath&&""!==cnArgs.cookiePath?"path="+cnArgs.cookiePath+";":"")+("1"===cnArgs.secure?"secure;":""),d.event.trigger({type:"setCookieNotice",value:e,time:i,expires:o}),d.fn.setCookieNoticeBodyClass("cookies-set "+("true"===e?"cookies-accepted":"cookies-refused")),"yes"===cnArgs.refuse&&"1"===cnArgs.revoke_cookies&&"automatic"===cnArgs.revoke_cookies_opt?s.hideCookieNotice(2):s.hideCookieNotice(0),"1"===cnArgs.redirection&&("true"===e&&void 0===c||e!==c&&void 0!==c)){var n=window.location.protocol+"//",t=window.location.host+"/"+window.location.pathname;"1"===cnArgs.cache?(n=n+t.replace("//","/")+(""===window.location.search?"?":window.location.search+"&")+"cn-reloaded=1"+window.location.hash,window.location.href=n):(n=n+t.replace("//","/")+window.location.search+window.location.hash,window.location.reload(!0))}else;},d.fn.setCookieNoticeBodyClass=function(e){d("body").removeClass("cookies-revoke cookies-accepted cookies-refused cookies-set cookies-not-set").addClass(e)},d.fn.getCookieNotice=function(){var e=("; "+document.cookie).split("; cookie_notice_accepted=");return 2===e.length?e.pop().split(";").shift():void 0},d.fn.showCookieNotice=function(e){d.event.trigger({type:"showCookieNotice",value:e,data:cnArgs});var i=this;switch(e){case 0:"fade"===cnArgs.hideEffect?i.css({visibility:"visible",display:"none"}).fadeIn(400):"slide"===cnArgs.hideEffect?i.css({visibility:"visible",display:"none"}).slideDown(400):i.css({visibility:"visible"}).show();break;case 1:"fade"===cnArgs.hideEffect?i.find(".cookie-notice-revoke-container").fadeOut(400,function(){i.css({visibility:"visible",display:"none"}).fadeIn(400)}):"slide"===cnArgs.hideEffect?i.find(".cookie-notice-revoke-container").slideUp(400,function(){i.css({visibility:"visible",display:"none"}).slideDown(400)}):i.css({visibility:"visible"}).find(".cookie-notice-revoke-container").hide();break;case 2:"fade"===cnArgs.hideEffect?i.css({visibility:"visible",display:"none"}).fadeIn(400):"slide"===cnArgs.hideEffect?i.css({visibility:"visible",display:"none"}).slideDown(400):i.css({visibility:"visible"});break;case 3:"fade"===cnArgs.hideEffect?i.find(".cookie-notice-revoke-container").fadeOut(400,function(){i.css({visibility:"visible",display:"none"}).fadeIn(400)}):"slide"===cnArgs.hideEffect?i.find(".cookie-notice-revoke-container").slideUp(400,function(){i.css({visibility:"visible",display:"none"}).slideDown(400)}):i.css({visibility:"visible"}).find(".cookie-notice-revoke-container").hide()}},d.fn.hideCookieNotice=function(e){d.event.trigger({type:"hideCookieNotice",value:e,data:cnArgs});var i=this,o=this.css("display");switch(e){case 0:"fade"===cnArgs.hideEffect?i.fadeOut(400):"slide"===cnArgs.hideEffect?i.slideUp(400):i.css({visibility:"hidden"});break;case 1:"fade"===cnArgs.hideEffect?i.find(".cookie-notice-revoke-container").hide().fadeIn(400).css({visibility:"visible",display:"block"}):"slide"===cnArgs.hideEffect?i.find(".cookie-notice-revoke-container").hide().slideDown(400).css({visibility:"visible",display:"block"}):i.find(".cookie-notice-revoke-container").css({visibility:"visible",display:"block"});break;case 2:"fade"===cnArgs.hideEffect?i.fadeOut(400,function(){i.css({visibility:"hidden",display:o}).find(".cookie-notice-revoke-container").hide().fadeIn(400).css({visibility:"visible",display:"block"})}):"slide"===cnArgs.hideEffect?i.slideUp(400,function(){i.css({visibility:"hidden",display:o}).find(".cookie-notice-revoke-container").hide().slideDown(400).css({visibility:"visible",display:"block"})}):i.css({visibility:"hidden"}).find(".cookie-notice-revoke-container").css({visibility:"visible",display:"block"})}}}(jQuery);
// source --> https://www.pccorner.gr/wp-content/plugins/knowledgebase-helpdesk/assets/js/jquery.modal.min.js?ver=5.3.2
/*
A simple jQuery modal (http://github.com/kylefox/jquery-modal)
Version 0.8.0
*/
!function(o){"object"==typeof module&&"object"==typeof module.exports?o(require("jquery"),window,document):o(jQuery,window,document)}(function(o,t,e,i){var s=[],l=function(){return s.length?s[s.length-1]:null},n=function(){var o,t=!1;for(o=s.length-1;o>=0;o--)s[o].$blocker&&(s[o].$blocker.toggleClass("current",!t).toggleClass("behind",t),t=!0)};o.modal=function(t,e){var i,n;if(this.$body=o("body"),this.options=o.extend({},o.modal.defaults,e),this.options.doFade=!isNaN(parseInt(this.options.fadeDuration,10)),this.$blocker=null,this.options.closeExisting)for(;o.modal.isActive();)o.modal.close();if(s.push(this),t.is("a"))if(n=t.attr("href"),/^#/.test(n)){if(this.$elm=o(n),1!==this.$elm.length)return null;this.$body.append(this.$elm),this.open()}else this.$elm=o("
"),this.$body.append(this.$elm),i=function(o,t){t.elm.remove()},this.showSpinner(),t.trigger(o.modal.AJAX_SEND),o.get(n).done(function(e){if(o.modal.isActive()){t.trigger(o.modal.AJAX_SUCCESS);var s=l();s.$elm.empty().append(e).on(o.modal.CLOSE,i),s.hideSpinner(),s.open(),t.trigger(o.modal.AJAX_COMPLETE)}}).fail(function(){t.trigger(o.modal.AJAX_FAIL);var e=l();e.hideSpinner(),s.pop(),t.trigger(o.modal.AJAX_COMPLETE)});else this.$elm=t,this.$body.append(this.$elm),this.open()},o.modal.prototype={constructor:o.modal,open:function(){var t=this;this.block(),this.options.doFade?setTimeout(function(){t.show()},this.options.fadeDuration*this.options.fadeDelay):this.show(),o(e).off("keydown.modal").on("keydown.modal",function(o){var t=l();27==o.which&&t.options.escapeClose&&t.close()}),this.options.clickClose&&this.$blocker.click(function(t){t.target==this&&o.modal.close()})},close:function(){s.pop(),this.unblock(),this.hide(),o.modal.isActive()||o(e).off("keydown.modal")},block:function(){this.$elm.trigger(o.modal.BEFORE_BLOCK,[this._ctx()]),this.$body.css("overflow","hidden"),this.$blocker=o('
').appendTo(this.$body),n(),this.options.doFade&&this.$blocker.css("opacity",0).animate({opacity:1},this.options.fadeDuration),this.$elm.trigger(o.modal.BLOCK,[this._ctx()])},unblock:function(t){!t&&this.options.doFade?this.$blocker.fadeOut(this.options.fadeDuration,this.unblock.bind(this,!0)):(this.$blocker.children().appendTo(this.$body),this.$blocker.remove(),this.$blocker=null,n(),o.modal.isActive()||this.$body.css("overflow",""))},show:function(){this.$elm.trigger(o.modal.BEFORE_OPEN,[this._ctx()]),this.options.showClose&&(this.closeButton=o('
'+this.options.closeText+""),this.$elm.append(this.closeButton)),this.$elm.addClass(this.options.modalClass).appendTo(this.$blocker),this.options.doFade?this.$elm.css("opacity",0).show().animate({opacity:1},this.options.fadeDuration):this.$elm.show(),this.$elm.trigger(o.modal.OPEN,[this._ctx()])},hide:function(){this.$elm.trigger(o.modal.BEFORE_CLOSE,[this._ctx()]),this.closeButton&&this.closeButton.remove();var t=this;this.options.doFade?this.$elm.fadeOut(this.options.fadeDuration,function(){t.$elm.trigger(o.modal.AFTER_CLOSE,[t._ctx()])}):this.$elm.hide(0,function(){t.$elm.trigger(o.modal.AFTER_CLOSE,[t._ctx()])}),this.$elm.trigger(o.modal.CLOSE,[this._ctx()])},showSpinner:function(){this.options.showSpinner&&(this.spinner=this.spinner||o('
').append(this.options.spinnerHtml),this.$body.append(this.spinner),this.spinner.show())},hideSpinner:function(){this.spinner&&this.spinner.remove()},_ctx:function(){return{elm:this.$elm,$blocker:this.$blocker,options:this.options}}},o.modal.close=function(t){if(o.modal.isActive()){t&&t.preventDefault();var e=l();return e.close(),e.$elm}},o.modal.isActive=function(){return s.length>0},o.modal.getCurrent=l,o.modal.defaults={closeExisting:!0,escapeClose:!0,clickClose:!0,closeText:"Close",closeClass:"",modalClass:"modal",spinnerHtml:null,showSpinner:!0,showClose:!0,fadeDuration:null,fadeDelay:1},o.modal.BEFORE_BLOCK="modal:before-block",o.modal.BLOCK="modal:block",o.modal.BEFORE_OPEN="modal:before-open",o.modal.OPEN="modal:open",o.modal.BEFORE_CLOSE="modal:before-close",o.modal.CLOSE="modal:close",o.modal.AFTER_CLOSE="modal:after-close",o.modal.AJAX_SEND="modal:ajax:send",o.modal.AJAX_SUCCESS="modal:ajax:success",o.modal.AJAX_FAIL="modal:ajax:fail",o.modal.AJAX_COMPLETE="modal:ajax:complete",o.fn.modal=function(t){return 1===this.length&&new o.modal(this,t),this},o(e).on("click.modal",'a[rel~="modal:close"]',o.modal.close),o(e).on("click.modal",'a[rel~="modal:open"]',function(t){t.preventDefault(),o(this).modal()})});
// source --> https://www.pccorner.gr/wp-content/plugins/knowledgebase-helpdesk/assets/js/packery.pkgd.min.js?ver=5.3.2
/*!
* Packery PACKAGED v2.1.2
* Gapless, draggable grid layouts
*
* Licensed GPLv3 for open source use
* or Packery Commercial License for commercial use
*
* http://packery.metafizzy.co
* Copyright 2013-2018 Metafizzy
*/
!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function h(t,e,n){var o,s="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var c=u[e];if(!c||"_"==e.charAt(0))return void r(s+" is not a valid method");var d=c.apply(u,n);o=void 0===o?d:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new s(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,s=t.console,r="undefined"==typeof s?function(){}:function(t){s.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!c){c=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r=200==Math.round(t(o.width)),s.isBoxSizeOuter=r,i.removeChild(e)}}function s(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var s=n(e);if("none"==s.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var c=a.isBorderBox="border-box"==s.boxSizing,d=0;u>d;d++){var l=h[d],f=s[l],p=parseFloat(f);a[l]=isNaN(p)?0:p}var g=a.paddingLeft+a.paddingRight,m=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,x=a.borderTopWidth+a.borderBottomWidth,b=c&&r,E=t(s.width);E!==!1&&(a.width=E+(b?0:g+_));var w=t(s.height);return w!==!1&&(a.height=w+(b?0:m+x)),a.innerWidth=a.width-(g+_),a.innerHeight=a.height-(m+x),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var r,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,c=!1;return s}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o
=t.x+e&&this.y+this.height>=t.y+i},e.overlaps=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,o=t.y+t.height;return this.xt.x&&this.yt.y},e.getMaximalFreeRects=function(e){if(!this.overlaps(e))return!1;var i,n=[],o=this.x+this.width,s=this.y+this.height,r=e.x+e.width,a=e.y+e.height;return this.yr&&(i=new t({x:r,y:this.y,width:o-r,height:this.height}),n.push(i)),s>a&&(i=new t({x:this.x,y:a,width:this.width,height:s-a}),n.push(i)),this.x=t.width&&this.height>=t.height},t}),function(t,e){if("function"==typeof define&&define.amd)define("packery/js/packer",["./rect"],e);else if("object"==typeof module&&module.exports)module.exports=e(require("./rect"));else{var i=t.Packery=t.Packery||{};i.Packer=e(i.Rect)}}(window,function(t){"use strict";function e(t,e,i){this.width=t||0,this.height=e||0,this.sortDirection=i||"downwardLeftToRight",this.reset()}var i=e.prototype;i.reset=function(){this.spaces=[];var e=new t({x:0,y:0,width:this.width,height:this.height});this.spaces.push(e),this.sorter=n[this.sortDirection]||n.downwardLeftToRight},i.pack=function(t){for(var e=0;e=t.x+t.width&&i.height>=t.height-.01;if(n){t.y=i.y,this.placed(t);break}}},i.rowPack=function(t){for(var e=0;e=t.y+t.height&&i.width>=t.width-.01;if(n){t.x=i.x,this.placed(t);break}}},i.placeInSpace=function(t,e){t.x=e.x,t.y=e.y,this.placed(t)},i.placed=function(t){for(var e=[],i=0;ii&&1>n;return o?void this.goTo(t,e):void a.apply(this,arguments)},s.enablePlacing=function(){this.removeTransitionStyles(),this.isTransitioning&&n&&(this.element.style[n]="none"),this.isTransitioning=!1,this.getSize(),this.layout._setRectSize(this.element,this.rect),this.isPlacing=!0},s.disablePlacing=function(){this.isPlacing=!1},s.removeElem=function(){var t=this.element.parentNode;t&&t.removeChild(this.element),this.layout.packer.addSpace(this.rect),this.emitEvent("remove",[this])},s.showDropPlaceholder=function(){var t=this.dropPlaceholder;t||(t=this.dropPlaceholder=document.createElement("div"),t.className="packery-drop-placeholder",t.style.position="absolute"),t.style.width=this.size.width+"px",t.style.height=this.size.height+"px",this.positionDropPlaceholder(),this.layout.element.appendChild(t)},s.positionDropPlaceholder=function(){this.dropPlaceholder.style[n]="translate("+this.rect.x+"px, "+this.rect.y+"px)"},s.hideDropPlaceholder=function(){var t=this.dropPlaceholder.parentNode;t&&t.removeChild(this.dropPlaceholder)},o}),function(t,e){"function"==typeof define&&define.amd?define(["get-size/get-size","outlayer/outlayer","packery/js/rect","packery/js/packer","packery/js/item"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer"),require("./rect"),require("./packer"),require("./item")):t.Packery=e(t.getSize,t.Outlayer,t.Packery.Rect,t.Packery.Packer,t.Packery.Item)}(window,function(t,e,i,n,o){"use strict";function s(t,e){return t.position.y-e.position.y||t.position.x-e.position.x}function r(t,e){return t.position.x-e.position.x||t.position.y-e.position.y}function a(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}i.prototype.canFit=function(t){return this.width>=t.width-1&&this.height>=t.height-1};var h=e.create("packery");h.Item=o;var u=h.prototype;u._create=function(){e.prototype._create.call(this),this.packer=new n,this.shiftPacker=new n,this.isEnabled=!0,this.dragItemCount=0;var t=this;this.handleDraggabilly={dragStart:function(){t.itemDragStart(this.element)},dragMove:function(){t.itemDragMove(this.element,this.position.x,this.position.y)},dragEnd:function(){t.itemDragEnd(this.element)}},this.handleUIDraggable={start:function(e,i){i&&t.itemDragStart(e.currentTarget)},drag:function(e,i){i&&t.itemDragMove(e.currentTarget,i.position.left,i.position.top)},stop:function(e,i){i&&t.itemDragEnd(e.currentTarget)}}},u._resetLayout=function(){this.getSize(),this._getMeasurements();var t,e,i;this._getOption("horizontal")?(t=1/0,e=this.size.innerHeight+this.gutter,i="rightwardTopToBottom"):(t=this.size.innerWidth+this.gutter,e=1/0,i="downwardLeftToRight"),this.packer.width=this.shiftPacker.width=t,this.packer.height=this.shiftPacker.height=e,this.packer.sortDirection=this.shiftPacker.sortDirection=i,this.packer.reset(),this.maxY=0,this.maxX=0},u._getMeasurements=function(){this._getMeasurement("columnWidth","width"),this._getMeasurement("rowHeight","height"),this._getMeasurement("gutter","width")},u._getItemLayoutPosition=function(t){if(this._setRectSize(t.element,t.rect),this.isShifting||this.dragItemCount>0){var e=this._getPackMethod();this.packer[e](t.rect)}else this.packer.pack(t.rect);return this._setMaxXY(t.rect),t.rect},u.shiftLayout=function(){this.isShifting=!0,this.layout(),delete this.isShifting},u._getPackMethod=function(){return this._getOption("horizontal")?"rowPack":"columnPack"},u._setMaxXY=function(t){this.maxX=Math.max(t.x+t.width,this.maxX),this.maxY=Math.max(t.y+t.height,this.maxY)},u._setRectSize=function(e,i){var n=t(e),o=n.outerWidth,s=n.outerHeight;(o||s)&&(o=this._applyGridGutter(o,this.columnWidth),s=this._applyGridGutter(s,this.rowHeight)),i.width=Math.min(o,this.packer.width),i.height=Math.min(s,this.packer.height)},u._applyGridGutter=function(t,e){if(!e)return t+this.gutter;e+=this.gutter;var i=t%e,n=i&&1>i?"round":"ceil";return t=Math[n](t/e)*e},u._getContainerSize=function(){return this._getOption("horizontal")?{width:this.maxX-this.gutter}:{height:this.maxY-this.gutter}},u._manageStamp=function(t){var e,n=this.getItem(t);if(n&&n.isPlacing)e=n.rect;else{var o=this._getElementOffset(t);e=new i({x:this._getOption("originLeft")?o.left:o.right,y:this._getOption("originTop")?o.top:o.bottom})}this._setRectSize(t,e),this.packer.placed(e),this._setMaxXY(e)},u.sortItemsByPosition=function(){var t=this._getOption("horizontal")?r:s;this.items.sort(t)},u.fit=function(t,e,i){var n=this.getItem(t);n&&(this.stamp(n.element),n.enablePlacing(),this.updateShiftTargets(n),e=void 0===e?n.rect.x:e,i=void 0===i?n.rect.y:i,this.shift(n,e,i),this._bindFitEvents(n),n.moveTo(n.rect.x,n.rect.y),this.shiftLayout(),this.unstamp(n.element),this.sortItemsByPosition(),n.disablePlacing())},u._bindFitEvents=function(t){function e(){n++,2==n&&i.dispatchEvent("fitComplete",null,[t])}var i=this,n=0;t.once("layout",e),this.once("layoutComplete",e)},u.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&(this.options.shiftPercentResize?this.resizeShiftPercentLayout():this.layout())},u.needsResizeLayout=function(){var e=t(this.element),i=this._getOption("horizontal")?"innerHeight":"innerWidth";return e[i]!=this.size[i]},u.resizeShiftPercentLayout=function(){var e=this._getItemsForLayout(this.items),i=this._getOption("horizontal"),n=i?"y":"x",o=i?"height":"width",s=i?"rowHeight":"columnWidth",r=i?"innerHeight":"innerWidth",a=this[s];if(a=a&&a+this.gutter){this._getMeasurements();var h=this[s]+this.gutter;e.forEach(function(t){var e=Math.round(t.rect[n]/a);t.rect[n]=e*h})}else{var u=t(this.element)[r]+this.gutter,c=this.packer[o];e.forEach(function(t){t.rect[n]=t.rect[n]/c*u})}this.shiftLayout()},u.itemDragStart=function(t){if(this.isEnabled){this.stamp(t);var e=this.getItem(t);e&&(e.enablePlacing(),e.showDropPlaceholder(),this.dragItemCount++,this.updateShiftTargets(e))}},u.updateShiftTargets=function(t){this.shiftPacker.reset(),this._getBoundingRect();var e=this._getOption("originLeft"),n=this._getOption("originTop");this.stamps.forEach(function(t){var o=this.getItem(t);if(!o||!o.isPlacing){var s=this._getElementOffset(t),r=new i({x:e?s.left:s.right,y:n?s.top:s.bottom});this._setRectSize(t,r),this.shiftPacker.placed(r)}},this);var o=this._getOption("horizontal"),s=o?"rowHeight":"columnWidth",r=o?"height":"width";this.shiftTargetKeys=[],this.shiftTargets=[];var a,h=this[s];if(h=h&&h+this.gutter){var u=Math.ceil(t.rect[r]/h),c=Math.floor((this.shiftPacker[r]+this.gutter)/h);a=(c-u)*h;for(var d=0;c>d;d++){var l=o?0:d*h,f=o?d*h:0;this._addShiftTarget(l,f,a)}}else a=this.shiftPacker[r]+this.gutter-t.rect[r],this._addShiftTarget(0,0,a);var p=this._getItemsForLayout(this.items),g=this._getPackMethod();p.forEach(function(t){var e=t.rect;this._setRectSize(t.element,e),this.shiftPacker[g](e),this._addShiftTarget(e.x,e.y,a);var i=o?e.x+e.width:e.x,n=o?e.y:e.y+e.height;if(this._addShiftTarget(i,n,a),h)for(var s=Math.round(e[r]/h),u=1;s>u;u++){var c=o?i:e.x+h*u,d=o?e.y+h*u:n;this._addShiftTarget(c,d,a)}},this)},u._addShiftTarget=function(t,e,i){var n=this._getOption("horizontal")?e:t;if(!(0!==n&&n>i)){var o=t+","+e,s=-1!=this.shiftTargetKeys.indexOf(o);s||(this.shiftTargetKeys.push(o),this.shiftTargets.push({x:t,y:e}))}},u.shift=function(t,e,i){var n,o=1/0,s={x:e,y:i};this.shiftTargets.forEach(function(t){
var e=a(t,s);o>e&&(n=t,o=e)}),t.rect.x=n.x,t.rect.y=n.y};var c=120;u.itemDragMove=function(t,e,i){function n(){s.shift(o,e,i),o.positionDropPlaceholder(),s.layout()}var o=this.isEnabled&&this.getItem(t);if(o){e-=this.size.paddingLeft,i-=this.size.paddingTop;var s=this,r=new Date,a=this._itemDragTime&&r-this._itemDragTime https://www.pccorner.gr/wp-content/plugins/knowledgebase-helpdesk/assets/js/script.js?ver=5.3.2
/******************************
Metarial preloader plugin start
******************************/
(function (e) {
var t = {
position: "bottom",
height: "5px",
col_1: "#159756",
col_2: "#da4733",
col_3: "#3b78e7",
col_4: "#fdba2c",
fadeIn: 200,
fadeOut: 200
};
e.materialPreloader = function (n) {
var r = e.extend({}, t, n);
$template = "";
e(".kbx-articles").prepend($template);
this.on = function () {
e("#materialPreloader").fadeIn(r.fadeIn)
};
this.off = function () {
e("#materialPreloader").fadeOut(r.fadeOut)
}
}
})(jQuery)
jQuery(document).ready(function ($) {
$("#kbx-query").on("keyup", function (e) {
var value = $(this).val();
var currentInputBox = $(this);
$(".kbx-hidden-search").val(value);
if (value.length > 3) {
var data = {
'action': 'kbx_search_article',
'post_key': value,
};
currentInputBox.addClass('searching');
jQuery.post(ajaxurl, data, function (response) {
var json = $.parseJSON(response);
if (json.status == 'true') {
currentInputBox.siblings('#serp-dd').css('display', 'block');
currentInputBox.siblings('#serp-dd').children(".result").html('');
currentInputBox.siblings('#serp-dd').children(".result").html(json.list);
}
if (json.status == 'false') {
currentInputBox.siblings('#serp-dd').css('display', 'block');
currentInputBox.siblings('#serp-dd').children(".result").html(json.list);
}
currentInputBox.removeClass('searching');
});
}
else {
currentInputBox.siblings('#serp-dd').children(".result").html("");
currentInputBox.siblings('#serp-dd').css('display', 'none');
currentInputBox.removeClass('searching');
}
});
//Hide the pop up if click outside of result.
$(document).mouseup(function (e) {
var container = $('#serp-dd');
// if the target of the click isn't the container nor a descendant of the container
if (!container.is(e.target) && container.has(e.target).length === 0) {
container.css({'display': 'none'});
}
});
});
jQuery(document).ready(function ($) {
$(".kbx-fes-trigger").on("click", function (e) {
e.preventDefault();
$(this).toggleClass("open");
$(".kbx-fes-widget-main").toggleClass("visible");
});
$(".kbx-fes-widget-main .close-it").on("click", function (e) {
e.preventDefault();
$(".kbx-fes-trigger").toggleClass("open");
$(".kbx-fes-widget-main").toggleClass("visible");
});
$(".kbx-fes-search-form-submit").on("click", function (e) {
e.preventDefault();
var value = $(".kbx-fes-search-form-input").val();
getFewSearchResult(value);
});
$(".kbx-fes-search-form-input").on("keyup", function (e) {
e.preventDefault();
var value = $(this).val();
if (value.length > 3) {
getFewSearchResult(value);
}
});
function getFewSearchResult(value) {
var searchString = value;
if (searchString.length > 3) {
var data = {
'action': 'kbx_search_article',
'post_key': value,
};
$(".search-spinner").removeClass('hidden');
$('.search-empty').addClass("hidden");
$('.kbx-fes-alert').addClass("hidden");
jQuery.post(ajaxurl, data, function (response) {
var json = $.parseJSON(response);
if (json.status == 'true') {
$('.kbx-fes-search-results').css('display', 'block');
$('.kbx-fes-search-results-ul').html('');
$('.kbx-fes-search-results-ul').html(json.list);
}
if (json.status == 'false') {
$('.kbx-fes-search-results').css('display', 'none');
$('.kbx-fes-search-results-ul').html('');
$('.search-empty').removeClass("hidden");
$('.search-empty .fes-search-terms').html(searchString);
}
$(".search-spinner").addClass('hidden');
});
}
else {
$('.kbx-fes-search-results').css('display', 'none');
$('.kbx-fes-search-results-ul').html('');
$('.search-empty').addClass("hidden");
$('.kbx-fes-alert').removeClass("hidden");
$('.kbx-fes-alert').html("");
$('.kbx-fes-alert').html("Search string is too short!");
}
}
//kbx tabs
$('ul.kbx-tabs li').first().addClass('kbx-tab-current');
$('.kbx-tabs-container .kbx-tab-content').first().addClass('kbx-tab-current');
$('ul.kbx-tabs li').click(function () {
var tab_id = $(this).attr('data-tab');
$('ul.kbx-tabs li').removeClass('kbx-tab-current');
$('.kbx-tab-content').removeClass('kbx-tab-current');
$(this).addClass('kbx-tab-current');
$("#" + tab_id).addClass('kbx-tab-current');
});
//Glossary page Search Full Width
if ($("#docsSearch").length > 0) {
var offset = $("#docsSearch").offset();
var offsetTop = 0;
if (offset.top < 500) {
var offsetTop = 10;
} else {
var offsetTop = offset.top - 100;
}
var serchArea = $("#searchBar");
$(window).scroll(function () {
var scroll = $(window).scrollTop();
if (scroll >= offsetTop) {
serchArea.css({
"width": "100%"
})
} else {
serchArea.css({
"width": "50%"
})
}
});
}
//Basic Layout Masonry Load
// setTimeout(function () {
// $('.kbx-category-list').imagesLoaded().packery({
// itemSelector: '.kbx-category-box',
// });
// }, 300);
recalculateGlossaryWidth();
//fullWidthGlossary();
//Initialize the metarial preloader
var kbx_glossary_preloader = new $.materialPreloader({
position: 'top',
height: '8px',
col_1: '#159756',
col_2: '#da4733',
col_3: '#3b78e7',
col_4: '#fdba2c',
fadeIn: 200,
fadeOut: 200
});
//Glossay page terms action
var gloddaryConMargin = $(".kbx-glossary-letters").height() / 2;
var gloddaryConMarginStr = '-' + gloddaryConMargin + 'px';
$('.kbx-glossary-letters').css({
'margin-top': gloddaryConMarginStr
});
$(document).on('mouseover', '.kbx-glossary-letter', function (e) {
$('.kbx-glossary-letter').removeClass('active-glossary-item');
$(this).addClass('active-glossary-item');
var position = $(this).position();
var topPosition = position.top - 50;
var bgposition = "0px " + topPosition + "px";
$(this).parent().css({
'background-position': bgposition,
})
});
$(document).on('click', '.kbx-glossary-letter', function (e) {
$("#kbx-glossary-load-more").css({'display': 'none'});
kbx_glossary_preloader.on();
$('.kbx-glossary-letter').removeClass('active-glossary-item');
$('.kbx-glossary-letter').removeClass('active-glossary-item-bold');
$(this).addClass('active-glossary-item');
$(this).addClass('active-glossary-item-bold');
var kbxGterm = $(this).attr('data-letter');
var data = {
'action': 'kbx_glossary_articles_by_term',
'gterm': kbxGterm,
};
$.post(ajaxurl, data, function (response) {
kbx_glossary_preloader.off();
$('.articleList').html('');
var $container = $('.articleList').packery();
var $html = $(response.html);
$container.append($html);
recalculateGlossaryWidth();
$container.packery('appended', $html);
if (response.total_articles > response.offset) {
$("#kbx-glossary-load-more").attr('data-gterm', response.gterm);
$("#kbx-glossary-load-more").attr('data-offset', response.offset);
$("#kbx-glossary-load-more").css({'display': 'block'});
}
});
});
//Infinite Scrolling
$(document).on("click", "#kbx-glossary-load-more", function () {
var currentDom = $(this);
var actionType = "more";
kbx_glossary_load_more(currentDom, actionType);
});
/*$(window).on("scroll", function() {
if($("#kbx-glossary-load-more").length > 0){
var scrollHeight = $(document).height();
var scrollPosition = $(window).height() + $(window).scrollTop();
var scrollVal=(scrollHeight - scrollPosition) / scrollHeight;
if (scrollVal.toFixed(2)<= 0.02) {
var currentDom=$("#kbx-glossary-load-more");
currentDom.css({'display':'inline-block'});
kbx_glossary_load_more(currentDom);
//alert('working');
}
}
});*/
function kbx_glossary_load_more(currentDom) {
$('#kbx-glossary-load-more-pre-loader').show();
var offset = currentDom.attr('data-offset');
var gTerm = currentDom.attr('data-gterm');
//console.log(offset);
var data = {
'action': 'kbx_glossary_load_more',
'offset': offset,
'gterm': gTerm,
};
$.post(ajaxurl, data, function (response) {
$('#kbx-glossary-load-more-pre-loader').hide();
//Showing more product by appending to the list.
$('.articleList').html();
var $container = $('.articleList').packery();
var $html = $(response.html);
$container.append($html);
recalculateGlossaryWidth();
$container.packery('appended', $html);
// console.log(response);
if (response.offset == -1) {
currentDom.css({'display': 'none'});
} else {
currentDom.attr('data-offset', response.offset);
currentDom.attr('data-gterm', response.gterm);
}
//alert(response.offset);
});
}
jQuery(window).resize(function(){
recalculateGlossaryWidth();
});
});
function getOffset1(el) {
var _x = 0;
var _y = 0;
while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return {top: _y, left: _x};
}
//Glossary page forcing to full width
function fullWidthGlossary(){
var fullwidth = jQuery("body").prop("clientWidth");
var fullheight = jQuery(window).height();
if (jQuery('.kbx-glossary-container').length > 0) {
var maindivcon = jQuery('.kbx-articles').parent()[0];
jQuery('.kbx-glossary-container').removeAttr('style');
var getleft = getOffset1(maindivcon);
console.log(getleft.left);
jQuery('.kbx-glossary-container').css({
'width': fullwidth + 'px',
'left': '-' + getleft.left + 'px',
'right': '-' + getleft.left + 'px',
'position': 'relative'
});
/*jQuery('#docsSearch').css({
'width':fullwidth+'px',
'left':'-'+getleft.left+'px',
});
jQuery('.kbx-glossary-letters').css({
'right':'-'+getleft.left+'px',
});*/
}
}
function recalculateGlossaryWidth(){
var glosary_width = jQuery('.kbx-glossary-container .kbx-articles').width();
if( glosary_width < 450 ){
jQuery(document).find('.kbx-glossary-container .kbx-articles .kbx-glossary-item').css({
'width' : '100%'
});
}else if( (glosary_width >= 450) && (glosary_width < 768) ){
jQuery(document).find('.kbx-glossary-container .kbx-articles .kbx-glossary-item').css({
'width' : '50%'
});
}else if( (glosary_width >= 768) && (glosary_width < 1024) ){
jQuery(document).find('.kbx-glossary-container .kbx-articles .kbx-glossary-item').css({
'width' : '33.33%'
});
}else if( (glosary_width >= 1024) && (glosary_width < 1366) ){
jQuery(document).find('.kbx-glossary-container .kbx-articles .kbx-glossary-item').css({
'width' : '25%'
});
}
}
jQuery(window).load(function(){
// init Packery
var kb_grid = jQuery('.kb-container').imagesLoaded().packery({
// options...
});
jQuery('.kbx-category-list').imagesLoaded().packery({
itemSelector: '.kbx-category-box',
});
});
// source --> https://www.pccorner.gr/wp-content/plugins/knowledgebase-helpdesk/assets/js/jquery.slimscroll.min.js?ver=5.3.2
/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* Version: 1.3.8
*
*/
(function(e){e.fn.extend({slimScroll:function(f){var a=e.extend({width:"auto",height:"250px",size:"7px",color:"#000",position:"right",distance:"1px",start:"top",opacity:.4,alwaysVisible:!1,disableFadeOut:!1,railVisible:!1,railColor:"#333",railOpacity:.2,railDraggable:!0,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:!1,wheelStep:20,touchScrollStep:200,borderRadius:"7px",railBorderRadius:"7px"},f);this.each(function(){function v(d){if(r){d=d||window.event;
var c=0;d.wheelDelta&&(c=-d.wheelDelta/120);d.detail&&(c=d.detail/3);e(d.target||d.srcTarget||d.srcElement).closest("."+a.wrapperClass).is(b.parent())&&n(c,!0);d.preventDefault&&!k&&d.preventDefault();k||(d.returnValue=!1)}}function n(d,g,e){k=!1;var f=b.outerHeight()-c.outerHeight();g&&(g=parseInt(c.css("top"))+d*parseInt(a.wheelStep)/100*c.outerHeight(),g=Math.min(Math.max(g,0),f),g=0=b.outerHeight()?k=!0:(c.stop(!0,
!0).fadeIn("fast"),a.railVisible&&m.stop(!0,!0).fadeIn("fast"))}function p(){a.alwaysVisible||(B=setTimeout(function(){a.disableFadeOut&&r||y||z||(c.fadeOut("slow"),m.fadeOut("slow"))},1E3))}var r,y,z,B,A,u,l,C,k=!1,b=e(this);if(b.parent().hasClass(a.wrapperClass)){var q=b.scrollTop(),c=b.siblings("."+a.barClass),m=b.siblings("."+a.railClass);x();if(e.isPlainObject(f)){if("height"in f&&"auto"==f.height){b.parent().css("height","auto");b.css("height","auto");var h=b.parent().parent().height();b.parent().css("height",
h);b.css("height",h)}else"height"in f&&(h=f.height,b.parent().css("height",h),b.css("height",h));if("scrollTo"in f)q=parseInt(a.scrollTo);else if("scrollBy"in f)q+=parseInt(a.scrollBy);else if("destroy"in f){c.remove();m.remove();b.unwrap();return}n(q,!1,!0)}}else if(!(e.isPlainObject(f)&&"destroy"in f)){a.height="auto"==a.height?b.parent().height():a.height;q=e("").addClass(a.wrapperClass).css({position:"relative",overflow:"hidden",width:a.width,height:a.height});b.css({overflow:"hidden",
width:a.width,height:a.height});var m=e("").addClass(a.railClass).css({width:a.size,height:"100%",position:"absolute",top:0,display:a.alwaysVisible&&a.railVisible?"block":"none","border-radius":a.railBorderRadius,background:a.railColor,opacity:a.railOpacity,zIndex:90}),c=e("").addClass(a.barClass).css({background:a.color,width:a.size,position:"absolute",top:0,opacity:a.opacity,display:a.alwaysVisible?"block":"none","border-radius":a.borderRadius,BorderRadius:a.borderRadius,MozBorderRadius:a.borderRadius,
WebkitBorderRadius:a.borderRadius,zIndex:99}),h="right"==a.position?{right:a.distance}:{left:a.distance};m.css(h);c.css(h);b.wrap(q);b.parent().append(c);b.parent().append(m);a.railDraggable&&c.bind("mousedown",function(a){var b=e(document);z=!0;t=parseFloat(c.css("top"));pageY=a.pageY;b.bind("mousemove.slimscroll",function(a){currTop=t+a.pageY-pageY;c.css("top",currTop);n(0,c.position().top,!1)});b.bind("mouseup.slimscroll",function(a){z=!1;p();b.unbind(".slimscroll")});return!1}).bind("selectstart.slimscroll",
function(a){a.stopPropagation();a.preventDefault();return!1});m.hover(function(){w()},function(){p()});c.hover(function(){y=!0},function(){y=!1});b.hover(function(){r=!0;w();p()},function(){r=!1;p()});b.bind("touchstart",function(a,b){a.originalEvent.touches.length&&(A=a.originalEvent.touches[0].pageY)});b.bind("touchmove",function(b){k||b.originalEvent.preventDefault();b.originalEvent.touches.length&&(n((A-b.originalEvent.touches[0].pageY)/a.touchScrollStep,!0),A=b.originalEvent.touches[0].pageY)});
x();"bottom"===a.start?(c.css({top:b.outerHeight()-c.outerHeight()}),n(0,!0)):"top"!==a.start&&(n(e(a.start).position().top,null,!0),a.alwaysVisible||c.hide());window.addEventListener?(this.addEventListener("DOMMouseScroll",v,!1),this.addEventListener("mousewheel",v,!1)):document.attachEvent("onmousewheel",v)}});return this}});e.fn.extend({slimscroll:e.fn.slimScroll})})(jQuery);
// source --> https://www.pccorner.gr/wp-content/plugins/knowledgebase-helpdesk/assets/js/jquery.cookie.js?ver=5.3.2
/*!
* jQuery Cookie Plugin v1.4.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2006, 2014 Klaus Hartl
* Released under the MIT license
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD (Register as an anonymous module)
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// Node/CommonJS
module.exports = factory(require('jquery'));
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
var pluses = /\+/g;
function encode(s) {
return config.raw ? s : encodeURIComponent(s);
}
function decode(s) {
return config.raw ? s : decodeURIComponent(s);
}
function stringifyCookieValue(value) {
return encode(config.json ? JSON.stringify(value) : String(value));
}
function parseCookieValue(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape...
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
// Replace server-side written pluses with spaces.
// If we can't decode the cookie, ignore it, it's unusable.
// If we can't parse the cookie, ignore it, it's unusable.
s = decodeURIComponent(s.replace(pluses, ' '));
return config.json ? JSON.parse(s) : s;
} catch(e) {}
}
function read(s, converter) {
var value = config.raw ? s : parseCookieValue(s);
return $.isFunction(converter) ? converter(value) : value;
}
var config = $.cookie = function (key, value, options) {
// Write
if (arguments.length > 1 && !$.isFunction(value)) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setMilliseconds(t.getMilliseconds() + days * 864e+5);
}
return (document.cookie = [
encode(key), '=', stringifyCookieValue(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// Read
var result = key ? undefined : {},
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling $.cookie().
cookies = document.cookie ? document.cookie.split('; ') : [],
i = 0,
l = cookies.length;
for (; i < l; i++) {
var parts = cookies[i].split('='),
name = decode(parts.shift()),
cookie = parts.join('=');
if (key === name) {
// If second argument (value) is a function it's a converter...
result = read(cookie, value);
break;
}
// Prevent storing a cookie that we couldn't decode.
if (!key && (cookie = read(cookie)) !== undefined) {
result[name] = cookie;
}
}
return result;
};
config.defaults = {};
$.removeCookie = function (key, options) {
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return !$.cookie(key);
};
}));
// source --> https://www.pccorner.gr/wp-content/plugins/knowledgebase-helpdesk/assets/js/bot-plugin.js?ver=5.3.2
/*
* Project: kbxBot jQuery Plugin
* Description: kbxBot AI based functionality are handled .
* Author: QuantumCloud
* Version: 1.0
*/
(function ($) {
/*
* Global variable as object will beused to handle
* kbxBot initialize, tree change transfer,
* changing tree steps and cookies etc.
*/
var globalKbx = {
initialize: 0,
settings: {},
wildCard: 0,
wildcards: '',
wildcardsHelp: ['start', 'faq', 'email', 'reset'],
articleStep: 'asking',
supportStep: 'welcome',
hasNameCookie: $.cookie("shopper"),
shopperUserName: '',
shopperEmail: '',
shopperMessage: '',
emptymsghandler: 0,
repeatQueryEmpty: '',
kbxIsWorking: 0,
ai_step: 0,
df_status_lock: 0,
};
/*
* kbxBot welcome section coverd
* greeting for new and already visited shopper
* based the memory after asking thier name.
*/
var kbxWelcome = {
greeting: function () {
//Very begining greetting.
var botJoinMsg = "" + globalKbx.settings.obj.agent + " " + kbxKits.randomMsg(globalKbx.settings.obj.agent_join);
kbxMsg.single(botJoinMsg);
//Showing greeting for name in cookie or fresh shopper.
setTimeout(function () {
var firstMsg = kbxKits.randomMsg(globalKbx.settings.obj.hi_there) + ' ' + kbxKits.randomMsg(globalKbx.settings.obj.welcome) + " " + globalKbx.settings.obj.host + "! ";
var secondtMsg = kbxKits.randomMsg(globalKbx.settings.obj.asking_name);
kbxMsg.double(firstMsg, secondtMsg);
//dialogflow
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 0;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
}
}, globalKbx.settings.preLoadingTime);
}
};
//Append the message to the message container based on the requirement.
var kbxMsg = {
single: function (msg) {
globalKbx.kbxIsWorking = 1;
$(globalKbx.settings.messageContainer).append(kbxKits.botPreloader());
//scroll to the last message
kbxKits.scrollTo();
setTimeout(function () {
$(globalKbx.settings.messageLastChild + ' .kbx-bot-paragraph').html(msg);
//If has youtube link then show video
kbxKits.videohandler();
//Enable the editor
kbxKits.enableEditor(globalKbx.settings.obj.send_msg);
//keeping in history
kbxKits.kbxBotHistorySave();
//scroll to the last message
kbxKits.scrollTo();
}, globalKbx.settings.preLoadingTime);
},
single_nobg: function (msg) {
globalKbx.kbxIsWorking = 1;
$(globalKbx.settings.messageContainer).append(kbxKits.botPreloader());
//scroll to the last message
kbxKits.scrollTo();
setTimeout(function () {
$(globalKbx.settings.messageLastChild + ' .kbx-bot-paragraph').css({
'background-color': 'transparent',
'border': 'none'
}).html(msg);
//Enable the editor
kbxKits.enableEditor(globalKbx.settings.obj.send_msg);
//scroll to the last message
kbxKits.scrollTo();
//keeping in history
kbxKits.kbxBotHistorySave();
}, globalKbx.settings.preLoadingTime);
},
double: function (fristMsg, secondMsg) {
globalKbx.kbxIsWorking = 1;
$(globalKbx.settings.messageContainer).append(kbxKits.botPreloader());
//scroll to the last message
kbxKits.scrollTo();
setTimeout(function () {
$(globalKbx.settings.messageLastChild + ' .kbx-bot-paragraph').html(fristMsg);
//Second Message with interval
$(globalKbx.settings.messageContainer).append(kbxKits.botPreloader());
//scroll to the last message
kbxKits.scrollTo();
setTimeout(function () {
$(globalKbx.settings.messageLastChild + ' .kbx-bot-paragraph').html(secondMsg);
//Enable the editor
kbxKits.enableEditor(globalKbx.settings.obj.send_msg);
//scroll to the last message
kbxKits.scrollTo();
//keeping in history
kbxKits.kbxBotHistorySave();
}, globalKbx.settings.preLoadingTime);
}, globalKbx.settings.preLoadingTime);
},
double_nobg: function (fristMsg, secondMsg) {
globalKbx.kbxIsWorking = 1;
$(globalKbx.settings.messageContainer).append(kbxKits.botPreloader());
//scroll to the last message
kbxKits.scrollTo();
setTimeout(function () {
$(globalKbx.settings.messageLastChild + ' .kbx-bot-paragraph').html(fristMsg);
//Second Message with interval
$(globalKbx.settings.messageContainer).append(kbxKits.botPreloader());
//scroll to the last message
kbxKits.scrollTo();
setTimeout(function () {
$(globalKbx.settings.messageLastChild + ' .kbx-bot-paragraph').parent().addClass('kbx-bot-msg-flat').html(secondMsg);
//scroll to the last message
kbxKits.scrollTo();
//Enable the editor
kbxKits.enableEditor(globalKbx.settings.obj.send_msg);
//scroll to the last message
kbxKits.scrollTo();
//keeping in history
kbxKits.kbxBotHistorySave();
}, globalKbx.settings.preLoadingTime);
}, globalKbx.settings.preLoadingTime);
},
shopper: function (shopperMsg) {
globalKbx.kbxIsWorking = 1;
$(globalKbx.settings.messageContainer).append(kbxKits.shopperMsgDom(shopperMsg));
//scroll to the last message
kbxKits.scrollTo();
},
shopper_choice: function (shopperChoice) {
globalKbx.kbxIsWorking = 1;
$(globalKbx.settings.messageLastChild).fadeOut(globalKbx.settings.preLoadingTime);
$(globalKbx.settings.messageContainer).append(kbxKits.shopperMsgDom(shopperChoice));
//scroll to the last message
kbxKits.scrollTo();
//keeping in history
kbxKits.kbxBotHistorySave();
}
};
//Every tiny tools are implemented in kbxKits as object literal.
var kbxKits = {
ajax: function (data) {
return jQuery.post(globalKbx.settings.obj.ajax_url, data);
},
dailogAIOAction: function (text) {
return jQuery.ajax({
type: "POST",
url: "https://api.dialogflow.com/v1/query?v=20170712",
contentType: "application/json; charset=utf-8",
dataType: "json",
headers: {
"Authorization": "Bearer " + globalKbx.settings.obj.ai_df_token
},
data: JSON.stringify({
query: text,
//lang : globalKbx.language,
lang: 'en-US',
sessionId: 'KbxBot_df_20180801'
})
});
},
sugestCat: function () {
var data = {'action': 'kbx_bot_category'};
var result = kbxKits.ajax(data);
result.done(function (response) {
kbxMsg.single_nobg(response);
//Updating & keeping steps and wildcard in localstorage
globalKbx.articleStep = 'category';
localStorage.setItem("articleStep", globalKbx.articleStep);
setTimeout(function () {
if (globalKbx.articleStep == 'category') {
if (globalKbx.settings.obj.disable_support != 1) {
var emailSuggMsg = kbxKits.randomMsg(globalKbx.settings.obj.support_email);
var confirmBtn = '' + globalKbx.settings.obj.yes + ' ' + globalKbx.settings.obj.or + ' ' + globalKbx.settings.obj.no + '';
var backStart = '' + kbxKits.randomMsg(globalKbx.settings.obj.back_start) + '';
kbxMsg.double_nobg(emailSuggMsg, confirmBtn + backStart);
}else{
var backStart = '' + kbxKits.randomMsg(globalKbx.settings.obj.back_start) + '';
kbxMsg.single(backStart);
}
}
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}, globalKbx.settings.wildcardsShowTime);
});
},
kbxBotHistorySave: function () {
var kbxBotHistory = $(globalKbx.settings.messageWrapper).html();
localStorage.setItem("kbxBotHistory", kbxBotHistory);
globalKbx.kbxIsWorking = 0;
},
suggestEmail: function () {
var emailSuggMsg = kbxKits.randomMsg(globalKbx.settings.obj.support_email);
var confirmBtn = '' + globalKbx.settings.obj.yes + ' ' + globalKbx.settings.obj.or + ' ' + globalKbx.settings.obj.no + '';
var backStart = '' + kbxKits.randomMsg(globalKbx.settings.obj.back_start) + '';
kbxMsg.double_nobg(emailSuggMsg, confirmBtn + backStart);
}
,
videohandler: function () {
$(globalKbx.settings.messageLastChild + ' .kbx-bot-paragraph').html(function (i, html) {
return html.replace(/(?:https:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, '');
});
},
enableEditor: function (placeHolder) {
$("#kbx-bot-editor").attr('disabled', false).focus();
$("#kbx-bot-editor").attr('placeholder', placeHolder);
$("#kbx-bot-send-message").attr('disabled', false);
},
disableEditor: function (placeHolder) {
$("#kbx-bot-editor").attr('placeholder', placeHolder);
$("#kbx-bot-editor").attr('disabled', true);
$("#kbx-bot-send-message").attr('disabled', true);
//Remove extra pre loader.
if ($('.kbx-bot-messages-container').find('.kbx-bot-comment-loader').length > 0) {
$('.kbx-bot-messages-container').find('.kbx-bot-comment-loader').parent().parent().hide();
}
},
scrollTo: function () {
$(globalKbx.settings.botContainer).animate({scrollTop: $('.kbx-bot-messages-wrapper').prop("scrollHeight")}, 'slow');
// $(globalKbx.settings.botContainer).animate({ scrollTop: $('#kbx-bot-messages-container').prop("scrollHeight")}, 'slow');
},
botPreloader: function () {
var msgContent = '' +
'' +
'
' +
'
' +
'' + globalKbx.settings.obj.agent + '
'
+ '';
return msgContent;
},
shopperMsgDom: function (msg) {
if (globalKbx.hasNameCookie) {
var shopper = globalKbx.hasNameCookie;
} else {
var shopper = globalKbx.settings.obj.shopper_demo_name;
}
var msgContent = '' +
'' +
'
' +
'
' +
'' + shopper + '
'
+ '' + msg + '
';
return msgContent;
},
showCart: function () {
var data = {'action': 'kbx_bot_show_cart'}
this.ajax(data).done(function (response) {
//if cart show on message board
if ($('#kbx-bot-shortcode-template-container').length == 0) {
$('.kbx-bot-messages-wrapper').html(response.html);
$('#kbx-bot-cart-numbers').html(response.items);
kbxKits.disableEditor('Shopping Cart');
} else { //Cart show on shortcode
$('.kbx-bot-cart-shortcode-container').html(response.html);
}
//Add scroll to the cart shortcode
if ($('#kbx-bot-shortcode-template-container').length > 0 && $('.kbx-bot-shortcode-template-02').length == 0) {
$('.kbx-bot-cart-body').slimScroll({height: '200px', start: 'bottom'});
}
});
},
randomMsg: function (arrMsg) {
var index = Math.floor(Math.random() * arrMsg.length);
return arrMsg[index];
},
toTitlecase: function (msg) {
return msg.replace(/\w\S*/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
},
filterStopWords: function (msg) {
var spcialStopWords = ",;,/,\\,[,],{,},(,),&,*,.,+ ,?,^,$,=,!,<,>,|,:,-";
var userMsg = "";
//Removing Special Characts from last position.
var msgLastChar = msg.slice(-1);
if (spcialStopWords.indexOf(msgLastChar) >= 0) {
userMsg = msg.slice(0, -1);
} else {
userMsg = msg;
}
var stopWords = globalKbx.settings.obj.stop_words + spcialStopWords;
var stopWordsArr = stopWords.split(',');
var msgArr = userMsg.split(' ');
var filtermsgArr = msgArr.filter(function myCallBack(el) {
return stopWordsArr.indexOf(el.toLowerCase()) < 0;
});
filterMsg = filtermsgArr.join(' ');
return filterMsg;
},
htmlTagsScape: function (userString) {
var tagsToReplace = {
'&': '&',
'<': '<',
'>': '>'
};
return userString.replace(/[&<>]/g, function (tag) {
return tagsToReplace[tag] || tag;
});
},
cardResponse: function (title, subtitle, buttons, text, postback) {
var card = '' + title + '
';
card += '' + subtitle + '
';
var index = 0;
for (index; index < buttons.length; index++) {
card += '' + buttons[index].text + '';
}
return card;
},
quickRepliesResponse: function (title, replies) {
var quickRes = '' + title + '
';
var index = 0;
for (index; index < replies.length; index++) {
quickRes += '';
}
return quickRes;
},
imageResponse: function (imageUrl) {
if (imageUrl != "") {
var ImgRes = '';
return ImgRes;
}
}
}
/*
* kbxBot Trees are basically product,order and support
* Article tree : to show the list of article based on the asking.
* support tree : List of support query-answer including text & video and email to admin option.
*/
var kbxTree = {
greeting: function (msg) {
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
//When intialize 1 and don't have cookies then keep the name of shooper in in cookie
if (globalKbx.initialize == 1 && !localStorage.getItem('shopper') && globalKbx.wildCard == 0 && globalKbx.ai_step == 0) {
var main_text = msg;
msg=kbxKits.toTitlecase(msg);
var dfReturns=kbxKits.dailogAIOAction(msg);
dfReturns.done(function( response ) {
if(response.status.code==200){
var intent = response.result.metadata.intentName;
if(intent=="get name"){
given_name = response.result.parameters.given_name;
last_name = response.result.parameters.last_name;
fullname = given_name+' '+last_name;
if(fullname.length<2){
fullname = msg
}
$.cookie("shopper", fullname, { expires : 365 });
localStorage.setItem('shopper',fullname);
globalKbx.hasNameCookie=fullname;
//Greeting with name and suggesting the wildcard.
var NameGreeting=kbxKits.randomMsg(globalKbx.settings.obj.i_am) +" "+globalKbx.settings.obj.agent+"! "+kbxKits.randomMsg(globalKbx.settings.obj.name_greeting)+", "+fullname+"!";
var serviceOffer=kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
//After completing two steps messaging showing wildcards.
kbxMsg.double(NameGreeting,serviceOffer);
globalKbx.ai_step=1;
globalKbx.wildCard=0;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
}else{
/*
msg = kbxKits.toTitlecase(msg);
$.cookie("shopper", msg, {expires: 365});
localStorage.setItem('shopper', msg);
globalKbx.hasNameCookie = msg;
// /Greeting with name and suggesting the wildcard.
var NameGreeting = kbxKits.randomMsg(globalKbx.settings.obj.i_am) + " " + globalKbx.settings.obj.agent + "! " + kbxKits.randomMsg(globalKbx.settings.obj.name_greeting) + ", " + msg + "!";
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
//After completing two steps messaging showing wildcards.
kbxMsg.double(NameGreeting, serviceOffer);
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
*/
$.cookie("shopper", globalKbx.settings.obj.shopper_demo_name, { expires : 365 });
localStorage.setItem('shopper',globalKbx.settings.obj.shopper_demo_name);
globalKbx.hasNameCookie=globalKbx.settings.obj.shopper_demo_name;
globalKbx.ai_step=1;
globalKbx.wildCard=0;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
kbxMsg.single(globalKbx.settings.obj.shopper_call_you+' '+globalKbx.settings.obj.shopper_demo_name);
setTimeout(function(){
var serviceOffer=kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.single(serviceOffer);
},globalKbx.settings.preLoadingTime)
}
}
})
}
//When returning shopper then greeting with name and wildcards.
else if (localStorage.getItem('shopper') && globalKbx.wildCard == 0 && globalKbx.ai_step == 0) {
//else if (globalKbx.hasNameCookie && globalKbx.wildCard == 0) {
//After asking service show the wildcards.
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.single(serviceOffer);
globalKbx.ai_step = 1;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
}
//When user asking needs then DialogFlow will given intent after NLP steps.
else if (globalKbx.wildCard == 0 && globalKbx.ai_step == 1) {
var dfReturns = kbxKits.dailogAIOAction(msg);
dfReturns.done(function (response) {
if (response.status.code == 200) {
var userIntent = response.result.metadata.intentName;
if (userIntent == 'start') {
globalKbx.wildCard = 0;
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.double_nobg(serviceOffer, globalKbx.wildcards);
} else if (userIntent == 'reset') {
var restWarning = globalKbx.settings.obj.reset;
var confirmBtn = '' + globalKbx.settings.obj.yes + ' ' + globalKbx.settings.obj.or + ' ' + globalKbx.settings.obj.no + '';
var backStart = '' + kbxKits.randomMsg(globalKbx.settings.obj.back_start) + '';
kbxMsg.double_nobg(restWarning, confirmBtn + backStart);
} else if (userIntent == 'article_search') {
var searchQuery = kbxKits.filterStopWords(response.result.resolvedQuery);
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
kbxAction.bot(searchQuery);
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
} else if (userIntent == 'article_list') {
kbxAction.bot(globalKbx.settings.obj.sys_key_catalog.toLowerCase());
}else if(userIntent=='get name'){
given_name = response.result.parameters.given_name;
last_name = response.result.parameters.last_name;
fullname = given_name+' '+last_name;
$.cookie("shopper", fullname, { expires : 365 });
localStorage.setItem('shopper',fullname);
globalKbx.hasNameCookie=fullname;
//Greeting with name and suggesting the wildcard.
var NameGreeting=kbxKits.randomMsg(globalKbx.settings.obj.i_am) +" "+globalKbx.settings.obj.agent+"! "+kbxKits.randomMsg(globalKbx.settings.obj.name_greeting)+", "+fullname+"!";
var serviceOffer=kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
//After completing two steps messaging showing wildcards.
kbxMsg.double(NameGreeting,serviceOffer);
globalKbx.ai_step=1;
globalKbx.wildCard=0;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
}
else if (userIntent == 'email') {
//kbxMsg.shopper_choice('Support');
//Then ask email address
if (typeof(globalKbx.hasNameCookie) == 'undefined' || globalKbx.hasNameCookie == '') {
var shopperName = globalKbx.settings.obj.shopper_demo_name;
} else {
var shopperName = globalKbx.hasNameCookie;
}
var askEmail = globalKbx.settings.obj.hello + ' ' + shopperName + '! ' + kbxKits.randomMsg(globalKbx.settings.obj.asking_email);
kbxMsg.single(askEmail);
//Now updating the support part and keeping value in localstorage
globalKbx.supportStep = 'email';
globalKbx.wildCard = 3;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("supportStep", globalKbx.supportStep);
} else if (response.result.score != 0) { // checking is reponsing from dialogflow.
if (response.result.action == "") {
if (response.result.fulfillment.speech != "" && globalKbx.settings.obj.custom_intent_enable == 1) {
//DialogFlow all defualt message will be printed.
var DFMsg = response.result.fulfillment.speech;
kbxMsg.single(DFMsg);
} else if (response.result.fulfillment.speech == "" && response.result.fulfillment.hasOwnProperty('messages') && globalKbx.settings.obj.rich_response_enable == 1 && globalKbx.settings.obj.custom_intent_enable == 1) {
//DialogFlow all defualt message will be printed.
var DFMsg = "";
var messages = response.result.fulfillment.messages;
var numMessages = messages.length;
var index = 0;
for (index; index < numMessages; index++) {
var message = messages[index];
switch (message.type) {
case 0: // For text response
DFMsg += message.speech;
break;
case 1: // For card part
DFMsg += kbxKits.cardResponse(message.title, message.subtitle, message.buttons, message.text, message.postback);
break;
case 2: // For quick replies
DFMsg += kbxKits.quickRepliesResponse(message.title, message.replies);
break;
case 3: // For image response
DFMsg += kbxKits.imageResponse(message.imageUrl);
break;
case 3: // custom payload
break;
default:
}
}
kbxMsg.single(DFMsg);
} else if (globalKbx.settings.obj.disable_product_search != 1) {
//Default is considered as product searching in the system if its not smalltalk && no respone message from DF
var searchQuery = kbxKits.filterStopWords(response.result.resolvedQuery);
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
kbxAction.bot(searchQuery);
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
} else {
var dfDefaultMsg = globalKbx.settings.obj.df_defualt_reply;
kbxMsg.single(dfDefaultMsg);
}
} else if (response.result.action != "") {
//Working for smalltalk
var sTalkAction = response.result.action;
var sTalkActionArr = sTalkAction.split('.');
if (sTalkActionArr[0] == 'smalltalk') {
var sMgs = response.result.fulfillment.speech;
kbxMsg.single(sMgs);
} else {
var searchQuery = kbxKits.filterStopWords(response.result.resolvedQuery);
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
kbxAction.bot(searchQuery);
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}
} else {
var searchQuery = kbxKits.filterStopWords(response.result.resolvedQuery);
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
kbxAction.bot(searchQuery);
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
} else {
//if bad request or limit cross then
globalKbx.df_status_lock = 1;
var dfDefaultMsg = globalKbx.settings.obj.df_defualt_reply;
kbxMsg.double_nobg(dfDefaultMsg, globalKbx.wildcards);
}
}).fail(function (error) {
var dfDefaultMsg = globalKbx.settings.obj.df_defualt_reply;
kbxMsg.double_nobg(dfDefaultMsg, globalKbx.wildcards);
});
}
} else {
if (globalKbx.initialize == 1 && !localStorage.getItem('shopper') && globalKbx.wildCard == 0) {
msg = kbxKits.toTitlecase(msg);
$.cookie("shopper", msg, {expires: 365});
localStorage.setItem('shopper', msg);
globalKbx.hasNameCookie = msg;
// /Greeting with name and suggesting the wildcard.
var NameGreeting = kbxKits.randomMsg(globalKbx.settings.obj.i_am) + " " + globalKbx.settings.obj.agent + "! " + kbxKits.randomMsg(globalKbx.settings.obj.name_greeting) + ", " + msg + "!";
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
//After completing two steps messaging showing wildcards.
kbxMsg.double(NameGreeting, serviceOffer);
setTimeout(function () {
if (globalKbx.wildcards != "") {
kbxMsg.single_nobg(globalKbx.wildcards);
}
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search';
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
//console.log(globalKbx.wildCard, globalKbx.articleStep);
}, parseInt(globalKbx.settings.preLoadingTime * 2.5));
}
//When returning shopper then greeting with name and wildcards.
else if (localStorage.getItem('shopper') && globalKbx.wildCard == 0) {
//else if (globalKbx.hasNameCookie && globalKbx.wildCard == 0) {
//After asking service show the wildcards.
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.double_nobg(serviceOffer, globalKbx.wildcards);
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search';
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}
},
article: function (msg) {
console.log(msg);
if (globalKbx.wildCard == 1 && globalKbx.articleStep == 'search') {
var data = {'action': 'kbx_bot_keyword', 'keyword': msg};
//Products by string search ajax handler.
kbxKits.ajax(data).done(function (response) {
//console.log(response);
if (response.articles_num == 0) {
//var productFail=kbxKits.randomMsg(globalKbx.settings.obj.product_fail)+" "+msg+"!";
//var productSuggest=kbxKits.randomMsg(globalKbx.settings.obj.product_suggest);
var articleFail = kbxKits.randomMsg(globalKbx.settings.obj.articles_fail);
var catalogSuggest = kbxKits.randomMsg(globalKbx.settings.obj.catalog_suggest);
kbxMsg.double(articleFail, catalogSuggest);
//Suggesting category.
setTimeout(function () {
kbxKits.sugestCat();
}, parseInt(globalKbx.settings.preLoadingTime * 2.1));
} else {
var findMore = '' + kbxKits.randomMsg(globalKbx.settings.obj.find_more) + '';
var articleSucces = kbxKits.randomMsg(globalKbx.settings.obj.articles_success)+" "+msg+"";
kbxMsg.double_nobg(articleSucces, response.html + findMore);
}
});
globalKbx.wildCard = 0;
} else if (globalKbx.wildCard == 1 && globalKbx.articleStep == 'category') {
var msg = msg.split("#");
var categoryTitle = msg[0];
var categoryId = msg[1];
var data = {'action': 'kbx_bot_category_articles', 'category': categoryId};
//Product by category ajax handler.
kbxKits.ajax(data).done(function (response) {
if (response.product_num == 0) {
//Since product does not found then show message and suggesting infinity search
var productFail = kbxKits.randomMsg(globalKbx.settings.obj.articles_fail) + " " + categoryTitle + "!";
var searchAgain = kbxKits.randomMsg(globalKbx.settings.obj.articles_infinite);
kbxMsg.double(productFail, searchAgain);
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
} else {
//Now show chat message to choose the product.
var productSuccess = kbxKits.randomMsg(globalKbx.settings.obj.articles_success) + " " + categoryTitle + "!";
var products = response.html;
kbxMsg.double_nobg(productSuccess, products);
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}
});
}
},
support: function (msg) {
if (globalKbx.wildCard == 3 && globalKbx.supportStep == 'welcome') {
var welcomeMsg = kbxKits.randomMsg(globalKbx.settings.obj.support_welcome);
kbxMsg.single(welcomeMsg);
setTimeout(function () {
kbxKits.suggestEmail();
}, parseInt(globalKbx.settings.wildcardsShowTime / 2));
} else if (globalKbx.wildCard == 3 && globalKbx.supportStep == 'email') {
globalKbx.shopperEmail = msg;
var validate = "";
var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
if (re.test(globalKbx.shopperEmail) != true) {
validate = validate + kbxKits.randomMsg(globalKbx.settings.obj.invalid_email);
}
if (validate == "") {
var askingMsg = kbxKits.randomMsg(globalKbx.settings.obj.asking_msg);
kbxMsg.single(askingMsg);
globalKbx.supportStep = 'message';
//keeping value in localstorage
localStorage.setItem("supportStep", globalKbx.supportStep);
} else {
kbxMsg.single(validate);
globalKbx.supportStep = 'email';
//keeping value in localstorage
localStorage.setItem("supportStep", globalKbx.supportStep);
}
} else if (globalKbx.wildCard == 3 && globalKbx.supportStep == 'message') {
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
var data = {
'action': 'kbx_bot_support_email',
'name': globalKbx.hasNameCookie,
'email': globalKbx.shopperEmail,
'message': msg
};
kbxKits.ajax(data).done(function (response) {
//var json = $.parseJSON(response);
var json = response;
if (json.status == 'success') {
var sucMsg = json.message;
kbxMsg.single(sucMsg);
//Asking email after showing answer.
setTimeout(function () {
kbxMsg.single(serviceOffer);
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}, globalKbx.settings.preLoadingTime);
} else {
var failMsg = json.message;
kbxMsg.single(failMsg);
//Asking email after showing answer.
setTimeout(function () {
kbxMsg.single(serviceOffer);
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}, globalKbx.settings.preLoadingTime);
}
});
} else if (globalKbx.wildCard == 3 && globalKbx.supportStep == 'phone') {
var data = {'action': 'kbx_bot_support_phone', 'name': globalKbx.hasNameCookie, 'phone': msg};
kbxKits.ajax(data).done(function (response) {
//var json = $.parseJSON(response);
var json = response;
if (json.status == 'success') {
var sucMsg = json.message;
kbxMsg.single(sucMsg);
//Asking email after showing answer.
setTimeout(function () {
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.single(serviceOffer);
setTimeout(function () {
if (globalKbx.wildcards != "") {
kbxMsg.single_nobg(globalKbx.wildcards);
}
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}, parseInt(globalKbx.settings.preLoadingTime));
}, globalKbx.settings.preLoadingTime);
} else {
var failMsg = json.message;
kbxMsg.single(failMsg);
//Asking email after showing answer.
setTimeout(function () {
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.single(serviceOffer);
setTimeout(function () {
if (globalKbx.wildcards != "") {
kbxMsg.single_nobg(globalKbx.wildcards);
}
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}, parseInt(globalKbx.settings.preLoadingTime));
}, globalKbx.settings.preLoadingTime);
}
});
}
}
};
/*
* kbxBot Actions are divided into two part
* shopper will response after initialize message,
* then based on shopper activities shopper will act.
*/
var kbxAction = {
bot: function (msg) {
//Disable the Editor
kbxKits.disableEditor(globalKbx.settings.obj.agent + ' ' + kbxKits.randomMsg(globalKbx.settings.obj.is_typing));
if (globalKbx.wildcardsHelp.indexOf(msg) > -1) {
if (msg == globalKbx.settings.obj.sys_key_help.toLowerCase()) { //start
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search';
//keeping wildcard and steps in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.single(serviceOffer);
setTimeout(function () {
if (globalKbx.wildcards != "") {
kbxMsg.single_nobg(globalKbx.wildcards);
}
}, parseInt(globalKbx.settings.preLoadingTime));
}
if (msg == globalKbx.settings.obj.sys_key_catalog.toLowerCase()) {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search';
//keeping wildcard and steps in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
kbxKits.sugestCat();
}
if (msg == globalKbx.settings.obj.sys_key_support.toLowerCase()) {
//Then ask email address
if (typeof(globalKbx.hasNameCookie) == 'undefined' || globalKbx.hasNameCookie == '') {
var shopperName = globalKbx.settings.obj.shopper_demo_name;
} else {
var shopperName = globalKbx.hasNameCookie;
}
var askEmail = globalKbx.settings.obj.hello + ' ' + shopperName + '! ' + kbxKits.randomMsg(globalKbx.settings.obj.asking_email);
kbxMsg.single(askEmail);
//Now updating the support part and keeping value in localstorage
globalKbx.supportStep = 'email';
globalKbx.wildCard = 3;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("supportStep", globalKbx.supportStep);
}
if (msg == globalKbx.settings.obj.sys_key_reset.toLowerCase()) {
var restWarning = globalKbx.settings.obj.reset;
var confirmBtn = '' + globalKbx.settings.obj.yes + ' ' + globalKbx.settings.obj.or + ' ' + globalKbx.settings.obj.no + '';
var backStart = '' + kbxKits.randomMsg(globalKbx.settings.obj.back_start) + '';
kbxMsg.double_nobg(restWarning, confirmBtn + backStart);
//dialogFlow
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
}
} else {
/*
* Greeting part
* bot action
*/
if (globalKbx.wildCard == 0) {
kbxTree.greeting(msg);
}
/*
* Article Search part
* bot action
*/
if (globalKbx.wildCard == 1) {
kbxTree.article(msg);
}
/*
* support part
* bot action
*/
if (globalKbx.wildCard == 3) {
kbxTree.support(msg);
}
}
},
shopper: function (msg) {
kbxMsg.shopper(msg);
if (globalKbx.wildCard == 1 && globalKbx.articleStep == "search") {
this.bot(msg);
} else if (globalKbx.wildCard == 3) {
this.bot(msg);
} else if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.wildCard == 0 && globalKbx.ai_step == 1 && globalKbx.df_status_lock == 0) {
this.bot(msg);
} else {
//Filtering the user given messages by stopwords
var spcialStopWords = ",;,/,\\,[,],{,},(,),&,*,.,+ ,?,^,$,=,!,<,>,|,:,-";
var userMsg = "";
//Removing Special Characts from last position.
var msgLastChar = msg.slice(-1);
if (spcialStopWords.indexOf(msgLastChar) >= 0) {
userMsg = msg.slice(0, -1);
} else {
userMsg = msg;
}
var stopWords = globalKbx.settings.obj.stop_words + spcialStopWords;
var stopWordsArr = stopWords.split(',');
var msgArr = userMsg.split(' ');
var filtermsgArr = msgArr.filter(function myCallBack(el) {
return stopWordsArr.indexOf(el.toLowerCase()) < 0;
});
filterMsg = filtermsgArr.join(' ');
//handle empty filterMsg as repeat the message.
if (filterMsg == "") {
if (globalKbx.emptymsghandler == 0) {
globalKbx.repeatQueryEmpty = kbxKits.randomMsg(globalKbx.settings.obj.empty_filter_msg) + ' "' + $(globalKbx.settings.messageLastBot).text() + '"';
globalKbx.emptymsghandler++;
}
kbxMsg.single(globalKbx.repeatQueryEmpty);
} else {
globalKbx.emptymsghandler = 0;
this.bot(filterMsg);
}
}
//Keeping the chat history in localStorage
setTimeout(function () {
var kbxBotHistory = $(globalKbx.settings.messageWrapper).html();
localStorage.setItem("kbxBotHistory", kbxBotHistory);
}, 5000);
}
};
/*
* kbxBot Plugin Creation without selector and
* kbxBot and shoppers all activities will be handled.
*/
$.kbxbot = function (options) {
//Using plugins defualts values or overwrite by options.
var settings = $.extend({}, $.kbxbot.defaults, options);
//Updating global settings
globalKbx.settings = settings;
//updating the helpkeywords
globalKbx.wildcardsHelp = [globalKbx.settings.obj.sys_key_help.toLowerCase(), globalKbx.settings.obj.sys_key_catalog.toLowerCase(), globalKbx.settings.obj.sys_key_support.toLowerCase(), globalKbx.settings.obj.sys_key_reset.toLowerCase()]
//updating wildcards
globalKbx.wildcards = '';
if (globalKbx.settings.obj.disable_article_search != 1) {
globalKbx.wildcards = '' + kbxKits.randomMsg(globalKbx.settings.obj.wildcard_artilces) + '';
}
if (globalKbx.settings.obj.disable_article_list != 1) {
globalKbx.wildcards += '' + kbxKits.randomMsg(globalKbx.settings.obj.wildcard_list) + '';
}
if (globalKbx.settings.obj.disable_support != 1) {
globalKbx.wildcards += '' + kbxKits.randomMsg(globalKbx.settings.obj.wildcard_support) + '';
}
if (globalKbx.settings.obj.disable_call_me != 1) {
globalKbx.wildcards += '' + kbxKits.randomMsg(globalKbx.settings.obj.wildcard_phone) + '';
}
//Initialize the kbxbot with greeting and if already initialize and given name then return greeting..
if (localStorage.getItem("kbxBotHistory") && globalKbx.initialize == 0) {
var kbxBotHistory = localStorage.getItem("kbxBotHistory");
$(globalKbx.settings.messageContainer).html(kbxBotHistory);
//Scroll to the last element.
kbxKits.scrollTo();
if (localStorage.getItem("wildCard")) {
globalKbx.wildCard = localStorage.getItem("wildCard");
}
if (localStorage.getItem("articleStep")) {
globalKbx.articleStep = localStorage.getItem("articleStep");
}
if (localStorage.getItem("supportStep")) {
globalKbx.supportStep = localStorage.getItem("supportStep");
}
//update the value for initializing.
globalKbx.initialize = 1;
} else {
if (globalKbx.initialize == 0 && globalKbx.wildCard == 0) {
kbxWelcome.greeting();
//update the value for initializing.
globalKbx.initialize = 1;
//keeping the chat history in local storage.
setTimeout(function () {
var kbxBotHistory = $(globalKbx.settings.messageWrapper).html();
localStorage.setItem("kbxBotHistory", kbxBotHistory);
}, 4000);
}
}
//When shopper click on send button
$(document).on('click', settings.sendButton, function (e) {
var shopperMsg = $(settings.messageEditor).val();
if (shopperMsg != "") {
kbxAction.shopper(kbxKits.htmlTagsScape(shopperMsg));
$(settings.messageEditor).val('');
}
});
/*
* Or when shopper press the ENTER key
* Then chatting functionality will be started.
*/
$(document).on('keypress', settings.messageEditor, function (e) {
if (e.which == 13 || e.keyCode == 13) {
e.preventDefault();
var shopperMsg = $(settings.messageEditor).val();
if (shopperMsg != "") {
kbxAction.shopper(kbxKits.htmlTagsScape(shopperMsg));
$(settings.messageEditor).val('');
}
}
});
//DialogFlow richresponse click
$(document).on('click', '.kbx-bot-card-button', function (e) {
var PostBack = $(this).attr('card-target');
kbxAction.bot(PostBack);
});
//Articles search result accordion.
$(document).on('click', '.kbx-bot-search-article-title', function (event) {
event.preventDefault();
if ($(this).parent().parent().hasClass('kbx-article-accordion-close')) {
$(this).parent().parent().removeClass('kbx-article-accordion-close');
$(this).parent().parent().addClass('kbx-article-accordion-open');
} else {
$(this).parent().parent().addClass('kbx-article-accordion-close');
$(this).parent().parent().removeClass('kbx-article-accordion-open');
}
// $('.kbx-bot-articles-area ul li').removeClass('kbx-article-accordion-open').addClass('kbx-article-accordion-close');
// if($(this).parent().parent().hasClass('kbx-article-accordion-close')){
// $(this).parent().parent().toggleClass('kbx-article-accordion-close');
// $(this).parent().parent().toggleClass('kbx-article-accordion-open');
// }
});
//Article Load More features for product search or category products
$(document).on('click', '.kbx-bot-find-more', function (e) {
$('#kbx-bot-loadmore-loader').html('');
var data = {'action': 'kbx_bot_category'};
var result = kbxKits.ajax(data);
result.done(function (response) {
kbxMsg.double_nobg(globalKbx.settings.obj.find_more_msg, response);
//Updating & keeping steps and wildcard in localstorage
globalKbx.articleStep = 'category';
localStorage.setItem("articleStep", globalKbx.articleStep);
setTimeout(function () {
if (globalKbx.articleStep == 'category') {
if (globalKbx.settings.obj.disable_support != 1) {
var emailSuggMsg = kbxKits.randomMsg(globalKbx.settings.obj.support_email);
var confirmBtn = '' + globalKbx.settings.obj.yes + ' ' + globalKbx.settings.obj.or + ' ' + globalKbx.settings.obj.no + '';
var backStart = '' + kbxKits.randomMsg(globalKbx.settings.obj.back_start) + '';
kbxMsg.double_nobg(emailSuggMsg, confirmBtn + backStart);
}else{
var backStart = '' + kbxKits.randomMsg(globalKbx.settings.obj.back_start) + '';
kbxMsg.single(backStart);
}
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}
}, globalKbx.settings.wildcardsShowTime);
});
});
//Find more thens show category list.
$(document).on('click', '#kbx-bot-loadmore', function (e) {
$('#kbx-bot-loadmore-loader').html('');
var loadMoreDom = $(this);
var artilesOffest = loadMoreDom.attr('data-offset');
var searchType = loadMoreDom.attr('data-search-type');
var searchTerm = loadMoreDom.attr('data-search-term');
var data = {
'action': 'kbx_bot_load_more',
'offset': artilesOffest,
'search_type': searchType,
'search_term': searchTerm
};
//Load more ajax handler.
kbxKits.ajax(data).done(function (response) {
//Change button text
$('#kbx-bot-loadmore-loader').html('');
$('.articleList').append(response.html);
loadMoreDom.attr('data-offset', response.offset);
if (response.articles_num < response.per_page) {
loadMoreDom.hide();
}
//scroll to the last message
kbxKits.scrollTo();
});
});
//Articles will be shown for corresponding category.
$(document).on('click', '.kbx-bot-article-category', function () {
var shopperChoiceCatId = $(this).text() + '#' + $(this).attr('data-category-id');
var shopperChoiceCategory = $(this).text();
//keeping value in localstorage
globalKbx.wildCard = 1;
localStorage.setItem("wildCard", globalKbx.wildCard);
globalKbx.articleStep = 'category';
localStorage.setItem("articleStep", globalKbx.articleStep);
//Now hide all categories but shopper choice.
kbxMsg.shopper_choice(shopperChoiceCategory);
kbxAction.bot(shopperChoiceCatId);
});
/*Support Email **/
$(document).on('click', '.kbx-bot-suggest-email', function (e) {
var shopperChoice = $(this).text();
kbxMsg.shopper_choice(shopperChoice);
//Then ask email address
if (typeof(globalKbx.hasNameCookie) == 'undefined' || globalKbx.hasNameCookie == '') {
var shopperName = globalKbx.settings.obj.shopper_demo_name;
} else {
var shopperName = globalKbx.hasNameCookie;
}
var askEmail = globalKbx.settings.obj.hello + ' ' + shopperName + '! ' + kbxKits.randomMsg(globalKbx.settings.obj.asking_email);
kbxMsg.single(askEmail);
//Now updating the support part and keeping value in localstorage
globalKbx.supportStep = 'email';
globalKbx.wildCard = 3;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("supportStep", globalKbx.supportStep);
});
//Show ,cart and recently view products by click event.
$(document).on('click', '.kbx-bot-operation-option', function (e) {
e.preventDefault();
var oppt = $(this).attr('data-option');
if (oppt == 'chat' && globalKbx.kbxIsWorking == 0) {
$('.kbx-bot-messages-wrapper').html(localStorage.getItem("kbxBotHistory"));
kbxKits.enableEditor('Send Message');
//First remove kbx-bot-operation-active class from all selector
$('.kbx-bot-operation-option').parent().removeClass('kbx-bot-operation-active');
//then add the active class to current element.
$(this).parent().addClass('kbx-bot-operation-active');
} else if (oppt == 'help' && globalKbx.kbxIsWorking == 0) {
if ($('.kbx-bot-messages-container').length == 0) {
//if from other nob then goo to the chat window
$('.kbx-bot-messages-wrapper').html(localStorage.getItem("kbxBotHistory"));
//Showing help message
setTimeout(function () {
kbxKits.scrollTo();
var helpWelcome = kbxKits.randomMsg(globalKbx.settings.obj.help_welcome);
var helpMsg = kbxKits.randomMsg(globalKbx.settings.obj.help_msg);
kbxMsg.double(helpWelcome, helpMsg);
}, globalKbx.settings.preLoadingTime);
} else {
//Showing help message on chat self window.
var helpWelcome = kbxKits.randomMsg(globalKbx.settings.obj.help_welcome);
var helpMsg = kbxKits.randomMsg(globalKbx.settings.obj.help_msg);
kbxMsg.double(helpWelcome, helpMsg);
}
//First remove kbx-bot-operation-active class from all selector
$('.kbx-bot-operation-option').parent().removeClass('kbx-bot-operation-active');
//then add the active class to current element.
$(this).parent().addClass('kbx-bot-operation-active');
} else if (oppt == 'support' && globalKbx.kbxIsWorking == 0) {
if ($('.kbx-bot-messages-container').length == 0) {
//if from other nob then goo to the chat window
$('.kbx-bot-messages-wrapper').html(localStorage.getItem("kbxBotHistory"));
//Showing help message
setTimeout(function () {
kbxKits.scrollTo();
//Then ask email address
if (typeof(globalKbx.hasNameCookie) == 'undefined' || globalKbx.hasNameCookie == '') {
var shopperName = globalKbx.settings.obj.shopper_demo_name;
} else {
var shopperName = globalKbx.hasNameCookie;
}
var askEmail = globalKbx.settings.obj.hello + ' ' + shopperName + '! ' + kbxKits.randomMsg(globalKbx.settings.obj.asking_email);
kbxMsg.single(askEmail);
//Now updating the support part and keeping value in localstorage
globalKbx.supportStep = 'email';
globalKbx.wildCard = 3;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("supportStep", globalKbx.supportStep);
}, globalKbx.settings.preLoadingTime);
} else {
//Then ask email address
if (typeof(globalKbx.hasNameCookie) == 'undefined' || globalKbx.hasNameCookie == '') {
var shopperName = globalKbx.settings.obj.shopper_demo_name;
} else {
var shopperName = globalKbx.hasNameCookie;
}
var askEmail = globalKbx.settings.obj.hello + ' ' + shopperName + '! ' + kbxKits.randomMsg(globalKbx.settings.obj.asking_email);
kbxMsg.single(askEmail);
//Now updating the support part and keeping value in localstorage
globalKbx.supportStep = 'email';
globalKbx.wildCard = 3;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("supportStep", globalKbx.supportStep);
}
//First remove kbx-bot-operation-active class from all selector
$('.kbx-bot-operation-option').parent().removeClass('kbx-bot-operation-active');
//then add the active class to current element.
$(this).parent().addClass('kbx-bot-operation-active');
}
});
//reset conversation history.
$(document).on('click', '.kbx-bot-reset-btn', function (e) {
e.preventDefault();
var actionType = $(this).attr('reset-data');
if (actionType == 'yes') {
$('#kbx-bot-messages-container').html('');
$.removeCookie('shopper');
globalKbx.wildCard = 0;
globalKbx.ai_step = 0;
globalKbx.initialize = 1;
//keeping wildcard and steps in localstorage
localStorage.removeItem("shopper");
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
kbxWelcome.greeting();
} else if (actionType == 'no') {
kbxAction.bot(globalKbx.settings.obj.sys_key_help.toLowerCase());
}
});
//Click on the wildcards
//Click on the wildcards to select a service
$(document).on('click', '.kbx-bot-wildcard', function () {
var wildcardData = $(this).attr('data-wildcart');
var shooperChoice = $(this).text();
kbxMsg.shopper_choice(shooperChoice);
//Wild cards handling for bot.
if (wildcardData == 'artilces') {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search';
//keeping wildcard and steps in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.articles_search_msg);
kbxMsg.single(serviceOffer);
}
if (wildcardData == 'list') {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search';
//keeping wildcard and steps in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
kbxKits.sugestCat();
}
if (wildcardData == 'support') {
kbxMsg.shopper_choice(shooperChoice);
//Then ask email address
if (typeof(globalKbx.hasNameCookie) == 'undefined' || globalKbx.hasNameCookie == '') {
var shopperName = globalKbx.settings.obj.shopper_demo_name;
} else {
var shopperName = globalKbx.hasNameCookie;
}
var askEmail = globalKbx.settings.obj.hello + ' ' + shopperName + '! ' + kbxKits.randomMsg(globalKbx.settings.obj.asking_email);
kbxMsg.single(askEmail);
//Now updating the support part and keeping value in localstorage
globalKbx.supportStep = 'email';
globalKbx.wildCard = 3;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("supportStep", globalKbx.supportStep);
}
if (wildcardData == 'phone') {
//Then ask email address
if (typeof(globalKbx.hasNameCookie) == 'undefined' || globalKbx.hasNameCookie == '') {
var shopperName = globalKbx.settings.obj.shopper_demo_name;
} else {
var shopperName = globalKbx.hasNameCookie;
}
var askEmail = globalKbx.settings.obj.hello + ' ' + shopperName + '! ' + kbxKits.randomMsg(globalKbx.settings.obj.asking_phone);
kbxMsg.single(askEmail);
//Now updating the support part and keeping value in localstorage
globalKbx.supportStep = 'phone';
globalKbx.wildCard = 3;
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("supportStep", globalKbx.supportStep);
}
if (wildcardData == 'back') {
var serviceOffer = kbxKits.randomMsg(globalKbx.settings.obj.wildcard_msg);
kbxMsg.single(serviceOffer);
setTimeout(function () {
if (globalKbx.wildcards != "") {
kbxMsg.single_nobg(globalKbx.wildcards);
}
//For handle the ai and alone
if (globalKbx.settings.obj.ai_df_enable == 1 && globalKbx.df_status_lock == 0) {
globalKbx.wildCard = 0;
globalKbx.ai_step = 1;
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("aiStep", globalKbx.ai_step);
} else {
globalKbx.wildCard = 1;
globalKbx.articleStep = 'search'
//keeping value in localstorage
localStorage.setItem("wildCard", globalKbx.wildCard);
localStorage.setItem("articleStep", globalKbx.articleStep);
}
}, parseInt(globalKbx.settings.preLoadingTime));
}
});
return this;
};
//Deafault value for kbxbot.If nothing passes from the work station
//Then defaults value will be used.
$.kbxbot.defaults = {
obj: {},
sendButton: '#kbx-bot-send-message',
messageEditor: '#kbx-bot-editor',
messageContainer: '#kbx-bot-messages-container',
messageWrapper: '.kbx-bot-messages-wrapper',
botContainer: '.kbx-bot-ball-inner',
messageLastChild: '#kbx-bot-messages-container li:last',
messageLastBot: '#kbx-bot-messages-container .kbx-bot-msg:last .kbx-bot-paragraph',
preLoadingTime: 1500,
wildcardsShowTime: 5000,
}
})(jQuery);